package com.ncsc.lmis.model;
// Generated Feb 25, 2014 11:44:39 PM by Hibernate Tools 3.4.0.CR1


import java.util.Date;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * AccAccountPeriodMonth generated by hbm2java
 */
@Entity
@Table(name="acc_account_period_month"
    ,catalog="lmis"
)
public class AccAccountPeriodMonth  implements java.io.Serializable {


     private AccAccountPeriodMonthId id;
     private AccAccountPeriod accAccountPeriod;
     private Date accPeriodMonthBeginDate;
     private Date accPeriodMonthEndDate;

    public AccAccountPeriodMonth() {
    }

	
    public AccAccountPeriodMonth(AccAccountPeriodMonthId id, AccAccountPeriod accAccountPeriod) {
        this.id = id;
        this.accAccountPeriod = accAccountPeriod;
    }
    public AccAccountPeriodMonth(AccAccountPeriodMonthId id, AccAccountPeriod accAccountPeriod, Date accPeriodMonthBeginDate, Date accPeriodMonthEndDate) {
       this.id = id;
       this.accAccountPeriod = accAccountPeriod;
       this.accPeriodMonthBeginDate = accPeriodMonthBeginDate;
       this.accPeriodMonthEndDate = accPeriodMonthEndDate;
    }
   
     @EmbeddedId

    
    @AttributeOverrides( {
        @AttributeOverride(name="accPeriodYearNo", column=@Column(name="ACC_PERIOD_YEAR_NO", nullable=false) ), 
        @AttributeOverride(name="accPeriodMonthNo", column=@Column(name="ACC_PERIOD_MONTH_NO", nullable=false) ) } )
    public AccAccountPeriodMonthId getId() {
        return this.id;
    }
    
    public void setId(AccAccountPeriodMonthId id) {
        this.id = id;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="ACC_PERIOD_YEAR_NO", nullable=false, insertable=false, updatable=false)
    public AccAccountPeriod getAccAccountPeriod() {
        return this.accAccountPeriod;
    }
    
    public void setAccAccountPeriod(AccAccountPeriod accAccountPeriod) {
        this.accAccountPeriod = accAccountPeriod;
    }

    @Temporal(TemporalType.DATE)
    @Column(name="ACC_PERIOD_MONTH_BEGIN_DATE", length=10)
    public Date getAccPeriodMonthBeginDate() {
        return this.accPeriodMonthBeginDate;
    }
    
    public void setAccPeriodMonthBeginDate(Date accPeriodMonthBeginDate) {
        this.accPeriodMonthBeginDate = accPeriodMonthBeginDate;
    }

    @Temporal(TemporalType.DATE)
    @Column(name="ACC_PERIOD_MONTH_END_DATE", length=10)
    public Date getAccPeriodMonthEndDate() {
        return this.accPeriodMonthEndDate;
    }
    
    public void setAccPeriodMonthEndDate(Date accPeriodMonthEndDate) {
        this.accPeriodMonthEndDate = accPeriodMonthEndDate;
    }




}


